# 完成四大基础数据结构的CRUD操作
#1、List（列表）
#1-1、Create（创建）
list_1 = ['a', 'b', 'c']
#1-1-1、append 末尾添加元素
list_1.append('d')
print(list_1)
#1-1-2、列表拼接
list_2 = ['e', 'f']
print(list_1 + list_2)
#1-1-3、列表增加
print(list_1 * 2)
#1-1-4、insert 指定位置添加元素
list_1.insert(4, 'e')
print(list_1)

#1-2、Retrieve（检索）
#1-2-1切片
list_3 = list(range(10))
print(list_3[1:3])
#1-2-2 index
list_4 = ['a', 'b', 'c']
list_4.insert(list_4('b'), 'text')
print(list_4)

#1-3、Update（更新）
#1-3-1索引赋值
list_4[0] = 'a-1'
print(list_4)
#1-3-2切片赋值
list_4[0:2] = 'a'
print(list_4)

#1-4、Delete（删除）
#1-4-1 pop 从末尾删除元素并返回
list_4.pop()
print(list_4)
#1-4-2 clear 清除列表中所有元素
list_4.clear()
print(list_4)


#2、Tuple（元组）
#2-1、Create 无

#2-2、Retrieve
tuple_1 = (1, 2, 3, 4)
#2-2-1索引取值
print(tuple_1[1])
#2-2-2index
print(tuple_1.index(2))
#2-2-3切片
print(tuple_1[1:2])

#2-3、Update 无

#2-4、Delete 无


#3、Dict（字典）
#3-1、Create
#3-1-1、键对值赋值
dict_1 = {}
dict_1['a'] = 1
dict_1['b'] = 2
print(dict_1)

#3-1-2、Update
dict_2 = {'c':3, 'd':4}
print(dict_1.update(dict_2))

#3-1-3、setdefault
dict_2.setdefault('e',0)
print(dict_2)

#3-2、Retrieve
#3-2-1、键对值
print(dict_2['c'])

#3-2-2、get
print(dict_2.get('c'))

#3-2-3、keys()
print(dict_2.keys())

#3-2-4、items()
print(dict_2.items())

#3-3、Update
#3-3-1、键对值赋值
dict_2['c'] = 10
print(dict_2)

#3-3-2、update
dict_2.update({'c':5, 'f':10})
print(dict_2)

#3-4、Delete
#3-4-1、pop
dict_2.pop('f')
print(dict_2)

#3-4-2、popitem()  相当于随机返回一个item
dict_2.popitem()
print(dict_2)

#3-4-3、clear()  删除所有
print(dict_2.clear())


#4、Set（集合）
#4-1、Create
#4-1-1、add
s = set()
s.add('a')
print(s)

#4-1-2、update
s.update('b')
print(s)

#4-2、Retrieve
#4-2-1、运算符in
print('a' in s)

#4-3、Update
#4-3-1、union
s.union({'c', 'd'})
print(s)

#4-4、Delete
#4-4-1、remove
s.remove('d')
print(s)

#4-4-2、discard
s.discard('a')
print(s)

#4-4-3、pop
s.pop()
print(s)

